package com.haohan.jingyuan.user.dto.req;

import com.haohan.jingyuan.common.dto.BaseRequest;
import com.haohan.jingyuan.common.enums.RoleStatusEnum;
import com.haohan.jingyuan.common.validation.EnumValid;
import lombok.Data;
import lombok.EqualsAndHashCode;

import javax.validation.constraints.NotBlank;
import java.util.List;

/**
 * 更新角色请求DTO
 *
 * @ClassName UpdateRoleRequest
 * @Description 更新角色请求参数
 * @Author hexijun
 * @Time 2025/01/19 10:15
 * @Version 1.0
 */
@Data
@EqualsAndHashCode(callSuper = true)
public class UpdateRoleRequest extends BaseRequest {

    /**
     * 记录ID
     */
    @NotBlank(message = "记录ID不能为空")
    private String id;

    /**
     * 角色名称
     */
    @NotBlank(message = "角色名称不能为空")
    private String roleName;

    /**
     * 角色状态：1-正常；2-冻结
     * @see RoleStatusEnum
     */
    @NotBlank(message = "角色状态不能为空")
    @EnumValid(enumClass = RoleStatusEnum.class, message = "角色状态必须是1(正常)或2(冻结)")
    private String roleStatus;

    /**
     * 角色资源
     */
    private List<String> roleResources;
}
